// 通用响应类型
export interface ApiResponse<T = any> {
  code: number
  message: string
  data: T
}

// 分页响应
export interface PaginatedResponse<T> {
  total: number
  page: number
  page_size: number
  items: T[]
}

// 用户信息
export interface UserInfo {
  id: number
  username: string
  email: string
  nickname?: string
  avatar?: string
  role_id?: number
  status: number
  last_login_time?: string
  created_at: string
}

// 登录参数
export interface LoginParams {
  username: string
  password: string
}

// Token响应
export interface TokenResponse {
  access_token: string
  refresh_token: string
  token_type: string
}

// Banner
export interface Banner {
  id: number
  title?: string
  subtitle?: string
  image_url: string
  link_url?: string
  sort_order: number
  status: number
  created_at: string
  updated_at: string
}

// 产品
export interface Product {
  id: number
  category_id?: number
  name: string
  subtitle?: string
  cover_image?: string
  images?: string[]
  summary?: string
  content?: string
  features?: any[]
  specifications?: any
  video_url?: string
  sort_order: number
  view_count: number
  status: number
  seo_title?: string
  seo_keywords?: string
  seo_description?: string
  created_at: string
  updated_at: string
}

// 新闻
export interface News {
  id: number
  category_id?: number
  title: string
  subtitle?: string
  cover_image?: string
  summary?: string
  content: string
  author?: string
  source?: string
  tags?: string
  view_count: number
  is_top: number
  status: number
  publish_time?: string
  seo_title?: string
  seo_keywords?: string
  seo_description?: string
  created_at: string
  updated_at: string
}

// 案例
export interface Case {
  id: number
  title: string
  client_name?: string
  industry?: string
  cover_image?: string
  images?: string[]
  summary?: string
  background?: string
  challenge?: string
  solution?: string
  result?: string
  technologies?: string
  sort_order: number
  view_count: number
  status: number
  created_at: string
  updated_at: string
}

// 解决方案
export interface Solution {
  id: number
  title: string
  industry?: string
  cover_image?: string
  summary?: string
  pain_points?: string
  solution_content?: string
  architecture_image?: string
  advantages?: string
  related_cases?: number[]
  sort_order: number
  view_count: number
  status: number
  created_at: string
  updated_at: string
}

// 招聘职位
export interface Job {
  id: number
  title: string
  department?: string
  location?: string
  job_type?: string
  salary_range?: string
  experience_required?: string
  education_required?: string
  description?: string
  responsibilities?: string
  requirements?: string
  benefits?: string
  headcount: number
  status: number
  created_at: string
  updated_at: string
}

// 技术服务套餐
export interface ServicePackage {
  id: number
  name: string
  subtitle?: string
  package_type?: string
  price?: string
  original_price?: string
  price_unit?: string
  description?: string
  features?: string[]
  service_items?: string[]
  suitable_for?: string
  is_recommended: number
  sort_order: number
  status: number
  created_at: string
  updated_at: string
}

// 定制开发套餐
export interface CustomPackage {
  id: number
  name: string
  subtitle?: string
  category?: string
  price_range?: string
  duration?: string
  team_size?: string
  description?: string
  features?: string[]
  tech_stack?: string[]
  deliverables?: string[]
  service_process?: any[]
  case_studies?: any[]
  is_hot: number
  sort_order: number
  status: number
  created_at: string
  updated_at: string
}

// 套餐功能对照
export interface PackageFeature {
  id: number
  feature_name: string
  feature_category?: string
  description?: string
  basic_plan?: string
  standard_plan?: string
  professional_plan?: string
  enterprise_plan?: string
  sort_order: number
  status: number
  created_at: string
  updated_at: string
}

// 常见问题
export interface FAQ {
  id: number
  category?: string
  question: string
  answer: string
  tags?: string
  is_hot: number
  view_count: number
  sort_order: number
  status: number
  created_at: string
  updated_at: string
}

